As document publishing technology has transitioned from the use of metal print type to more modern computer-controlled printing systems, such as laser printers, the typeface designs that are available to publishers and other document creators have increased dramatically. As a result, a large variety of fonts can be employed within a publication, and even within a single article, to create a unique appearance and/or draw the reader's attention to particular subject matter. However, the wealth of fonts that are now available for use creates its own set of problems, namely the management of a large number of fonts among the various systems in which they are used.
One particular concern in this area is the fact that the same document content may be handled by different computer systems at different times during the publishing process. For example, the various articles of a publication may be originally created and laid out at a publisher's facilities. Due to the need to optimize space on individual pages and throughout the overall publication, the particular font types and sizes that are chosen by the publisher can be quite critical to achieving a desired appearance. Once the layout of the publication has been completed, it might be transferred to a prepress operator, who evaluates the publication for any potential problems before it goes to press. From there, the publication is sent to a service bureau, which is responsible for printing and assembling the pages of the publication. It is necessary for the prepress operator and the service bureau to employ the same fonts as those selected by the publisher, to ensure that the printed pages are the same as those which appeared on the publisher's computer monitors while the publication was being laid out. If these facilities do not have the same fonts as those selected by the publisher, there may be an attempt to substitute other fonts which have a similar name and/or appearance. However, if all of the characteristics of the substituted font do not match those of the originally selected font, adverse consequences could result. For instance, if the spacing between characters is different in the original font and the substituted font, a reflow of text might occur, wherein words wrap around to succeeding lines of an article at different points from the original layout. In such a case, the number of lines in an article could change, resulting in blank spaces if the number of lines is reduced or, more seriously, missing lines if the number increases. Changes of this nature can prove to be very expensive if they are not identified sufficiently early in the publishing process.
There are a variety of different ways in which-mismatches can occur between the fonts selected by various computer systems involved in the layout and printing of a document. Typically, a naming convention is employed for font selection. However, two fonts may have the same name, but they might be of different types. For instance, two well-known font types are Type 1 fonts, which conform to the PostScript page description language, and TrueType fonts, which are designed to appear the same on both a computer monitor and a printed page. Often the same name is employed for a font of one type whose glyphs, e.g. character designs, have the same appearance as those of the other type. Even though two fonts have the same name, e.g., “Times”, the metrics that are associated with them may be different. If a Type 1 font is substituted for a TrueType font, or vice versa, reflow of text could occur.
Even if different workstations which handle a document are using the same type of font, different versions may be employed. For instance, the publisher may adjust some of the metrics associated with a font, in order to obtain a particular result. One situation of this type can occur when the kerning, i.e., the spacing between individual characters, is adjusted, to fit a line of text within a designated area. If the prepress operator or the printing bureau do not employ this same adjustment, reflow of text can again occur.
These types of experiences are not limited to the publishing industry. They can even occur within a single computer system. For instance, some computer systems place a limit on the number of files that can be open at any given time. If a document requires access to a particular font, the printer driver may not be able to obtain the font because of the open-file limit. In such a case, the driver might substitute another font which is already open, or a bitmap version of the requested font. Such a change can result in wasted output, and hence unnecessary expense.
To solve the problems that are associated with these situations, a font management utility should be able to ensure that the fonts which a user specifies in a document are the same as the fonts that exist on the computer system in which that document is opened, as well as on a printer when that document is printed. To this end, therefore, the font manager should be able to identify a font on the basis of information which is more specific than just the name and/or type of the font.
In the past, different approaches have been employed in an effort to identify the relationship between fonts. For instance, the Panose typeface classification system categorizes fonts on the basis of their visual appearance. Generally speaking, in this system a number of digits are associated with a font. Each digit pertains to a different visual characteristic of the typeface, and its value is based upon the subjective judgment of the typeface designer. For example, the digits might fall within a range of −10,000 to 10,000, and if the designer considers the character strokes to have a medium thickness, or weight, he could assign a value of zero for the weight digit, to indicate a normal thickness. The objective of this type of system is to facilitate font substitution, by permitting users to identify a font whose visual appearance is closest to that of a particular font of interest, based upon human interpretations. However, it does not take into account the physical layout of the font, and therefore is not capable of avoiding problems associated with the layout of text, such as reflow.
Other types of font identification systems employ a more objective identifier. For instance, some systems compute a digital signature that is based upon the entire contents of a font file. When a font is to be employed in connection with a document, its file's digital signature is computed and compared against that of the original font. If the two digital signatures do not match, this provides an indication that the files differ in some respect. However, since the digital signature is only reflective of the file in its entirety, it does not identify where the difference lies, and consequently the user is not able to determine whether the difference is significant. For instance, two font files may contain the same data, but the ordering of the data may be different. Such a difference may not cause text reflow, and therefore the user may consider the two fonts to be the same. Unfortunately, the digital signature does not provide information which enables such a determination to be made. It only identifies the fact that the two files are somehow different. If two fonts are not the same, the font management utility should be able to identify the nature of the differences, so that the user can make an informed decision whether to employ a particular font, or choose a different one.